xm: Make cpu_{cap|weight} available when using XenAPI
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 2 Sep 2009 10:39:27 +0000 (11:39 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 2 Sep 2009 10:39:27 +0000 (11:39 +0100)
Currently, cpu_weight parameter and cpu_cap parameter in domain=20
configuration files are ignored when using XenAPI.
The parameters are available by this patch.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
tools/python/xen/xm/xenapi_create.py

index e3e47b30dd9e808da585a758eed50c6bfc39895c..bb816f278b4130239216a0156b7374357b0b527a 100644 (file)
@@ -778,6 +778,12 @@ class sxp2xml:
 
         map(vm.appendChild, platform)
 
+        # And now the vcpu_params
+
+        vcpu_params = self.extract_vcpu_params(config, document)
+
+        map(vm.appendChild, vcpu_params)
+
         # transient?
 
         if transient:
@@ -1072,6 +1078,23 @@ class sxp2xml:
                 platform_configs.append(platform)
  
         return platform_configs
+
+    def extract_vcpu_params(self, config, document):
+        vcpu_params = []
+
+        vcpu_param = document.createElement("vcpu_param")
+        vcpu_param.attributes["key"] = "weight"
+        vcpu_param.attributes["value"] \
+            = str(get_child_by_name(config, "cpu_weight", 256))
+        vcpu_params.append(vcpu_param)
+
+        vcpu_param = document.createElement("vcpu_param")
+        vcpu_param.attributes["key"] = "cap"
+        vcpu_param.attributes["value"] \
+            = str(get_child_by_name(config, "cpu_cap", 0))
+        vcpu_params.append(vcpu_param)
+
+        return vcpu_params
     
     _eths = -1